Conventionally, function programs which are written on the conditions of using an operating system having time-division or priority preemptive takes or a process scheduling function and a similar function, and a function programming language, and which can be simultaneously called from a plurality of tasks or processes within a specific time interval have been required to be reentrant.
Such reentrant function programs have been coded by human programmers and programs for automatically judging whether a possibility of reentry is satisfied have been written by them. Such a prior art technology is disclosed, for example, in Japanese Unexamined Patent Publication No. 2001-134431 (patent document 1).
A condition of satisfying the possibility of reentry has depended on the syntax analysis of the entire source program describing functions to be judged to extract the entire flow, the determination of scopes for all the resources to be called in the entire flow and the judgment on the completely exclusive control according to the kind of the scope of the resource.
However, it is, in reality, very difficult due to a time restriction and a limit of the computer's processing ability to extract the entire flow by the syntax analysis of the entire source program, determine the scopes for the all the resources called in the entire flow and judge whether or not the completely exclusive control is executed according to the kind of the scope of the resource. Such a difficulty has obliged the judgment to be made up to a certain level.
Since the conventional reentrant program has its essential portion written by human programmer, only incompletely exclusive controls can be realized while a huge amount of time is taken. This brings about many maloperations when the program is executed.
Further, since such a reentrant program is frequently used in a multi-task and time-division environment, it has been quite difficult to found out the cause of the maloperation. It has been even more difficult to renew and revise such a reentrant program.